The present invention relates generally to the field of wireless communications and, in particular, to geographical location using wireless communications systems.
Geographical location, or geolocation, involves determining the position of a mobile wireless device. Prior art geolocation systems use satellite-based navigation equipment to provide accurate, three-dimensional position information. One well-known satellite-based navigation system is the Global Positioning System (GPS).
FIG. 12 depicts a GPS system 10 used in accordance with the prior art. GPS system 10 comprises a plurality of satellites 12-j, at least one controlling ground station 20, and at least one GPS receiver 30, where j=1, 2, . . . , J. Each satellite 12-j orbits the Earth 16 at a known speed vj and is a known distance from the other satellites 12-j. Each satellite 12-j transmits a GPS signal 14-j, which is a carrier signal at a known frequency f that is bipolar phase shift key (BPSK) modulated using a unique pseudo-random noise (PN-j) code and navigation data (ND-j) associated with that particular satellite. The PN-j code and the navigation data ND-j are combined via modulo-two addition prior to modulating the carrier signal. The navigation data ND-j includes a satellite identifier, timing information, satellite health indicators, orbital data and parity bits.
Controlling ground station 20 comprises an antenna 22 for receiving GPS signals 14-j and transmitting correction signals 24-j, a plurality of correlators 26-m for detecting GPS signals 14-j and a processor 28 having software for tracking GPS satellites 12-j using detected GPS signals and for determining correction signals 24-j for each satellite, where m=1, . . . , M. Correction signals 24-j include satellite clock offsets from actual GPS system time, such as bias and drift components, for purposes of providing updated position and timing information to GPS satellites 12-j.
FIG. 13 depicts GPS receiver 30 comprising an antenna 32 for receiving GPS signals 14-j, a plurality of correlators 34-k for detecting GPS signals 14-j, a processor 36 having software for determining a geolocation position using the detected GPS signals 14-j, a preamplifier/ prefilter 102 to filter and boost received GPS signals 14-j, a frequency synthesizer 106, a reference oscillator 108 to provide timing to frequency synthesizer 106, and a clock 118 to provide timing to processor 36, where k=1,2, . . . ,K. Correlators 34-k include a pseudo-random noise (PN) code generator 110, multipliers 104 and 112, and an integrate and dump filter 114. GPS receiver 30 detects GPS signals 14-j via PN-j codes. Note that PN code generator 110 may or may not be part of correlator 34-k.
Detecting GPS signals 14-j involves a correlation process wherein correlators 34-k search received GPS signals 14-j for PN-j codes in a carrier frequency dimension and a code phase dimension. The correlation process is implemented using multiplier 112 to perform real-time multiplication of received GPS signals 14-j with phase shifted replicated PN-j codes modulated onto a replicated carrier signal at a known frequency and using and dump filter 114 to perform integrations on multiplier 112""s output signal.
In the carrier frequency dimension, GPS receiver 30 replicates carrier signals using reference oscillator 108 and frequency synthesizer 106 to match the frequencies of GPS signals 14-j as they arrive at GPS receiver 30. Due to the Doppler effect, the frequency f at which GPS signals 14-j are transmitted changes an unknown amount xcex94fj before GPS signal 14-j arrives at GPS receiver 30. Thus, GPS signal 14-j has a frequency f+xcex94fj upon arrival at GPS receiver 30. GPS receiver 30 accounts for the Doppler effect by replicating the carrier signals across a frequency spectrum f,spec ranging from f+xcex94fmin to f+xcex94fmax until the frequency of the replicated carrier signal matches the frequency of the received GPS signal 14-j, wherein xcex94fmin and xcex94fmax are a minimum and a maximum change in frequency GPS signals 14-j will undergo due to the Doppler effect as they travel from satellites 12-j to GPS receiver 30. In other words, xcex94fminxe2x89xa6xcex94fjxe2x89xa6fmax.
In the code phase dimension, GPS receiver 30 replicates the unique PN-j codes associated with each satellite 12-j using PN code generator 110 wherein the replicated PN-j codes are modulated onto replicated carrier signals via multiplier 104. The phases of the replicated PN-j codes are shifted across code phase spectrums Rj(spec) until replicated carrier signals modulated with replicated PN-j codes correlate, if at all, with GPS signals 14-j being received by GPS receiver 30, wherein each code phase spectrum Rj(spec) includes every possible phase shift for the associated PN-j code. That is, phase-shifted PN-j codes modulated onto replicated carrier signals are multiplied using multiplier 112 with received GPS signals 14-j to produce an output signal that undergoes and integrate and dump process via integrate and dump filter 114.
Correlators 34-k are configured to perform parallel searches for a plurality of PN-j codes across the frequency spectrum fspec and their associated code phase spectrum Rj(spec), i.e. in both the frequency and code dimensions. Each of the plurality of correlators 34-k are dedicated to searching for a particular PN-j code across each possible frequency along xcex94fminxe2x89xa6xcex94fjxe2x89xa6xcex94fmax and each possible phase shift for that PN-j code. When a correlator 34-k completes its search for a PN-j code, the correlator 34-k searches for another PN-j code in the same manner. This process continues until all PN-j codes are collectively searched for by the plurality of correlators 34-k. For example, suppose there are twelve satellites 12-j, thus there would be twelve unique PN-j codes. If GPS receiver 30 has six correlators 34-k, then GPS receiver 30 would use its correlators 34-k to search for two sets of six different PN-j codes at a time. Specifically, correlators 34-k search for the first six PN-j codes, i.e. correlator 34-1 searches for PN-1, correlator 34-2 searches for PN-2, etc. Upon completing the search for the first six PN-j codes, correlators 34-k search for the next six PN-j codes, i.e. correlator 34-1 searches for PN-7, correlator 34-2 searches for PN-8, etc.
For correlator 34-k searching for a each PN-j code, an integrate and dump process is performed for each combination of frequency and phase shifts for that PN-j code. For example, suppose the frequency spectrum fspec includes 50 possible frequencies for the carrier signal and the code phase spectrum Rj(spec) for a PN-j code includes 2,046 possible half-chip phase shifts. To search for every possible combination of frequency and half-chip phase shifts for the PN-j code, the correlator 34-k would need to perform 102,300 integrations. A typical integration time for correlators 34-k is 1 ms, which is sufficient for GPS receiver 30 to detect GPS signals 14-j when there is a strong signal-to-noise ratio, such as where antenna 32 has a clear view of the sky or a direct line-of-sight to satellites 12-j. Thus, for this example, 102.3 seconds would be required for one correlator 34-k to search every possible combination of frequency and half-chip phase shifts for one PN-j code.
After GPS signals 14-j are detected by correlators 34-k, processor 36 calculates pseudo-ranges for each detected satellite 12-j by performing fast Fourier transform (FFT), discrete Fourier transform (DFT) or equivalent operations on the output signals of correlators 34-k. Each pseudo-range corresponding to an estimate of the distance from detected satellite 12-j to GPS receiver 30 based upon a propagation delay associated with GPS signal 14-j traveling from detected satellite 12-j to GPS receiver 30 plus delays based on timing offsets in clocks for satellite 12-j and GPS receiver 30 from actual GPS time. Pseudo-range measurements from GPS receiver 30 to detected satellites 12-j are combined using processor 36 to determine an approximate position of GPS receiver 30, as is well known in the art.
GPS receivers 30 are now being incorporated into mobile telephones or other types of mobile communications devices that do not always have a clear view of the sky. In these situations, signal-to-noise ratios of GPS signals 14-j received by GPS receiver 30 are typically much lower than when GPS receiver 30 has a clear view of the sky, thus making it more difficult for GPS receiver 30 to detect GPS signals 14-j. To compensate for weaker signal-to-noise ratios and enhance detection of GPS signals 14-j, correlators 34-k can be configured with longer integration times. A sufficient integration time, in this case, would be approximately 1 second. Thus, for the example above, 102,300 seconds would be required for a correlator 34-k to search for every possible combination of frequency and half-chip phase shifts for one PN-j code. Longer integration times result in undesirable longer acquisition times, i.e. time needed for detecting GPS signals 14-j.
Wireless assisted GPS (WAG) systems were developed to facilitate acquisition of GPS signals 14-j by GPS receivers configured with short or long integration times. The WAG system facilitates acquisition of GPS signals 14-j by reducing the number of integrations to be performed by correlators searching for GPS signals 14-j. The number of integrations is reduced by narrowing the frequency range and code phase ranges to be searched. Specifically, the WAG system limits the search for GPS signals 14-j to a specific frequency or frequencies and to a range of code phases less than the code phase spectrum Rj(spec).
FIG. 14 depicts a prior art WAG system 200 comprising a WAG server 220, a plurality of base stations 230 and at least one WAG client 240. WAG server 220 is a device for facilitating detection of GPS signals 14-j by WAG client 240, and includes a GPS receiver 260 having an antenna 270 installed in a known location with a clear view of the sky, wherein GPS receiver 260 would typically have correlators configured with short integration times because antenna 270 has a clear view of the sky. WAG server 220 being operable to communicate with base stations 230 either through a wired or wireless interface. Each base station 230 has a known location and provides communication services to WAG clients 240 located within a geographical area or cell 250 associated with base station 230, wherein each cell 250 is a known size and is divided into a plurality of sectors. WAG client 240 includes GPS receiver 280, GPS antenna 285 and perhaps a mobile-telephone 290, and is typically in motion and/or in an unknown location with or without a clear view of the sky. GPS receiver 280 having correlators typically configured with long integration times. Note that the term xe2x80x9cmobile-telephonexe2x80x9d for purposes of this application, shall be construed to include, but is not limited to, any communication device.
WAG server 220 predicts frequencies and code phase search ranges for visible satellites based on detected GPS signals 14-j at WAG server 220 and a known location of base station 230 or cell 250 which is currently serving WAG client 240, wherein visible satellites are a set of all satellites 12-j which are in view of WAG server 220, i.e., WAG server 220 can detect GPS signals 14-j transmitted by visible satellites. This set of all satellites 12-j is known as a visible set. The predicted frequencies and code phase search ranges for visible satellites, including indications of the visible satellites, are transmitted from WAG server 220 to WAG client 240 through base station 230. WAG client 240 uses this information to perform a focused parallel search for GPS signals 14-j. Specifically, the correlators of GPS receiver 280 search for the indicated satellites at the predicted frequencies and code phase search ranges. Thus, the total number of integrations is reduced because the entire frequency spectrum fspec and code phase spectrum Rj(spec) are not being searched, thereby reducing the overall acquisition time.
Although WAG system 200 reduces the number of integrations required by WAG clients 240 to detect GPS signals 14-j, the detection of GPS signals 14-j are not enhanced in environments where GPS signals 14-j have low signal to noise ratios. Thus, longer integrations are still required in low signal to noise environments. Integration times longer than twenty milliseconds in duration may cause GPS receiver sensitivity, i.e. the ability to detect GPS signals 14-j, to degrade. The reason for this degradation is because each bit of navigation data ND-j spans a duration of twenty milliseconds. Integrations longer than twenty milliseconds results in an integration period which includes transitions from one bit navigation data ND-j to another bit, thereby degrading GPS receiver sensitivity.
One way to resolve this problem is to remove the navigation data ND-j from the received GPS signals 14-j prior to integration (e.g., points a and b) or after integration but before processing (e.g., point c) by processor 36. This technique is referred to herein as data or modulation wipeoff.
In the prior art, data wipeoff is performed using previously received navigation data ND-j to remove the navigation data ND-j in currently received GPS signals 14-j. Using previously received navigation data ND-j to perform data wipeoff may result in incomplete removal/wipeoff of current navigation data ND-j because previously received navigation data ND-jt would not necessarily be identical to current navigation data ND-j. Incomplete data wipeoff introduces bit errors thereby reducing GPS receiver sensitivity which, in turn, necessitates integration times longer in duration than if data wipeoff was complete. Accordingly, there exists a need for a method of enhancing data wipeoff.
The present invention is a method for enhancing data wipeoff by predicting future navigation data. Data wipeoff using predicted future navigation data reduces or eliminates incomplete data wipeoff, thereby enhancing GPS receiver sensitivity and reducing acquisition times. The present invention method for predicting future navigation data includes receiving navigation data and using the received navigation data to generate predicted future navigation data, wherein the predicted future navigation data should be approximately identical to navigation data received at a future time. The predicted future navigation data is subsequently used to perform data wipeoff. In one embodiment, future navigation data is predicted by predicting a time of week message for a time corresponding to the future navigation data, and subsequently calculating parity bits based on the predicted time of week message and previously received navigation data.